#ifndef NODO_H
#define NODO_H

#include "TP.h"
#include "Dato.h"
#include "Procesador.h"
#include "Trabajo.h"

//==============================================================================

#define ENCENDIDO 1
#define APAGADO 0
typedef unsigned char tEstadoNodo;

#define CORRIENDO 1
#define FINALIZADO 0
typedef unsigned char tEstadoProceso;

typedef tDato tNodo;

void nodoCrear (tNodo* pNodo, int pId, unsigned long int pMemoriaDisponible);

int nodoDestruir (tNodo pNodo);

int nodoGetId(tNodo pNodo);

unsigned long int nodoGetMemoria (tNodo pNodo);

tEstadoNodo nodoGetEstado (tNodo pNodo);

tTrabajo nodoGetTrabajo(tNodo pNodo);

tEstadoProceso nodoGetEstadoProcesador(tNodo pNodo);

tEstadoNodo nodoEncender (tNodo pNodo);

tEstadoNodo nodoApagar (tNodo pNodo);

tBool nodoEsEjecutable(tNodo pNodo, tTrabajo pTrabajo);

void nodoEjecutar(tNodo pNodo, tTrabajo pTrabajo);

#endif /*NODO_H*/
